﻿using System;

namespace Demo0520
{
    class Program
    {
        static void Main(string[] args)
        {
            //一、编写一个控制台应用程序，接受用户输入的两个整数和一个操作符，以实现对两个整数的
            //加、减、乘、除运算，并显示出计算结果。
            //            1、创建Calculate父类，其中包含两个整型的protected成员，用以接收用户输入的两个整数。
            //                定义一个DisplayResult()虚方法，计算并输出结果。
            //2、定义四个类继承自Calculate类，分别重写DisplayResult()方法，实现两个整数的加、减、乘、除运算，并输出结果。
            //3、根据用户输入的操作符，实例化相应的类，完成运算并输出结果。
            //4、在主类中添加一个方法，形参为父类对象，根据传递实参的类型，调用方法，实现计算和显示结果。

            //用户输入
            Console.WriteLine("请输入第一个数：");
            double num1 =double.Parse(Console.ReadLine());
            Console.WriteLine("请输入第二个数：");
            double num2 = double.Parse(Console.ReadLine());

            //选择
            Console.WriteLine("请输入你要执行运算前的序号：1、加法 2、减法 3、乘法 4、除法");
            int key = int.Parse(Console.ReadLine());
            Calculate c;
            switch (key)
            {
                case 1:
                    c = new Puls();
                    break;
                case 2:
                    c = new Subtract();
                    break;
                case 3:
                    c = new Ride();
                    break;
                case 4:
                    c = new Divide();
                    break;
                default:
                    Console.WriteLine("请慎重选择！");
                    c = new Puls();
                    break;
            }
            Sele(c,num1,num2);
        }
        static void Sele(Calculate c,double num1,double num2) 
        {
            c.DisplayResult(num1,num2);
          
        }

    }
}
